﻿using UnityEngine;
using System.Collections;
using UnityEditor;

public class ColorConvert : MonoBehaviour
{
    public UILabel label;
    // Use this for initialization
    void Start()
    {

        Color c1 = Color.green;
        Color c2 = Color.red;
        Color c3 = Color.yellow;
        Debug.Log(colorToHex(c1));
        label.text = colorToHex(c1)+"This is a " + colorToHex(c2)+ "test "+colorToHex(c3)+"label "+"[-]";
        
    }

    // Update is called once per frame
    void Update()
    {

    }

    public static Color hexToColor(string hex)
    {
        hex = hex.Replace("0x", "");//in case the string is formatted 0xFFFFFF
        hex = hex.Replace("#", "");//in case the string is formatted #FFFFFF
        byte a = 255;//assume fully visible unless specified in hex
        byte r = byte.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
        byte g = byte.Parse(hex.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);
        byte b = byte.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
        //Only use alpha if the string has enough characters
        if (hex.Length == 8)
        {
            a = byte.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
        }
        return new Color32(r, g, b, a);
    }

    public static string colorToHex(Color32 color)
    {
        string hex = color.r.ToString("X2") + color.g.ToString("X2") + color.b.ToString("X2")+color.a.ToString("X2");
        hex = "[" + hex + "]";
        return hex;
    }

   
}
